<?php

/**
 * Controller is the customized base controller class.
 * All controller classes for this application should extend from this base class.
 */
class MemberController extends CController {

    /**
     * @var string the default layout for the controller view. Defaults to '//layouts/column1',
     * meaning using a single column layout. See 'protected/views/layouts/column1.php'.
     */
    public $layout = '//layouts/main';

    /**
     * @var array context menu items. This property will be assigned to {@link CMenu::items}.
     */

    /**
     * @var array the breadcrumbs of the current page. The value of this property will
     * be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
     * for more details on how to specify this property.
     */
    public $breadcrumbs = array();

    public function __construct($id, $module = null) {
        parent::__construct($id, $module);

        Yii::app()->theme = Yii::app()->params['config']['theme']['member']['name'];
        
        if (Yii::app()->user->isGuest) {
            $this->redirect(array('/member/login'));
        }
    }

    public function actions() {
        return array(
            // captcha action renders the CAPTCHA image displayed on the contact page
            'captcha' => array(
                'class' => 'CCaptchaAction',
                'backColor' => 0xFFFFFF,
                'testLimit' => 1,
                'backColor' => 0xFFFFFF,
                'width' => 155,
                'padding' => 1,
            ),
        );
    }

    public function accessRules() {
        parent::accessRules();

        return array(
            array('allow',
                'users' => array('@'),
            ),
            array('deny'),
        );
    }

    public function filterAccessControl($filterChain) {
        $rules = $this->accessRules();

        // default deny
        $rules[] = array('deny');

        $filter = new CAccessControlFilter;
        $filter->setRules($rules);
        $filter->filter($filterChain);
    }

}